package Arrays;

/**
 * 作者:hfj
 * 功能:69.x的平方根
 * 日期: 2025/10/22 8:23
 */
public class MySqrt {
    public static void main(String[] args) {
        int x = 2147483647;
        System.out.println(mySqrt(x));
    }

    public static int mySqrt(int x) {
        if (x == 0){
            return 0;
        }
        //这里必须得长整型,不然会整形溢出导致循环执行到底
        long i = 1;
        for (; i <= x/2 + 1; i++) {
            if (i*i > x){
                return (int) i-1;
            } else if (i * i == x) {
                return (int) i;
            }
        }
        return (int) i;
    }
}
